package com.mondo.financialwallet.data.repository.datasource;

import com.mondo.financialwallet.data.entity.BasisResponseEntity;
import com.mondo.financialwallet.data.entity.MyTokenListEntity;
import com.mondo.financialwallet.data.entity.TokenAddressEntity;
import com.mondo.financialwallet.data.entity.TokenTransactionRecordEntity;
import com.mondo.financialwallet.data.entity.WalletAssetEntity;

import io.reactivex.Observable;

public interface WalletDataStore {

    Observable<MyTokenListEntity> myTokenList();

    Observable<WalletAssetEntity> walletAsset();

    Observable<WalletAssetEntity> walletAvailableBalance();

    Observable<TokenAddressEntity> generateTokenAddress(String id);

    Observable<BasisResponseEntity> transfer(String id, String amount, String address, String remark);

    Observable<TokenTransactionRecordEntity> transactionRecordList(String tokenId, int page, int type);
}
